package com.yyh1;
/*知识点：抽象类
案例：
	1、声明抽象父类Person，包含抽象方法public abstract void eat();
	2、声明子类中国人Chinese，重写抽象方法，打印用筷子吃饭
	3、声明子类美国人American，重写抽象方法，打印用刀叉吃饭
	4、声明子类印度人Indian，重写抽象方法，打印用手抓饭
	5、声明测试类Test11，创建Person数组，存储各国人对象，并遍历数组，调用eat()方法
*/
public class Test3 {
    public static void main(String[] args) {
        //创建Person数组
        Person1[] persons = new Person1[3];
        //创建对象
        persons[0] = new Chinese();
        persons[1] = new American();
        persons[2] = new Indian();
        //遍历数组
        for(int i=0; i<persons.length; i++){
            persons[i].eat();
        }
    }
}
//声明抽象父类Person1
abstract class Person1{
    //抽象方法
    public abstract void eat();
}
//声明子类中国人Chinese
class Chinese extends Person1{
    //重写抽象方法
    @Override
    public void eat() {
        System.out.println("用筷子吃饭");
    }
}
//声明子类美国人American
class American extends Person1{
    //重写抽象方法
    @Override
    public void eat() {
        System.out.println("用刀叉吃饭");
    }
}
//声明子类印度人Indian
class Indian extends Person1{
    //重写抽象方法
    @Override
    public void eat() {
        System.out.println("用手抓饭");
    }
}

